/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logistica.beans;

import entities.Almacen;
import entities.AlmacenTienda;
import facades.AlmacenTiendaFacade;
import java.io.Serializable;
import java.util.ArrayList;
import javax.enterprise.context.SessionScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import javax.inject.Named;
import qualifiers.EventoEntidadElegida;

/**
 *
 * @author damfercer
 */
@Named
@SessionScoped
public class TiendasAlmacenBean implements Serializable{
    private Almacen almacen;
    @Inject
    private AlmacenTiendaFacade almacenTiendaFacade;
    private AlmacenTienda almacenTiendaCollector;

    /**
     * Creates a new instance of NuevoProductoBean
     */

    /**
     * @return the nuevoProducto
     */
    public Almacen getAlmacen() {
        return almacen;
    }

    /**
     * @param nuevoProducto the nuevoProducto to set
     */
    public void setAlmacen(Almacen almacen) {
        this.almacen = almacen;
    }
    
    public void onAlmacenElegido(@Observes @EventoEntidadElegida Almacen almacen){
        this.almacen=almacen;
        this.almacenTiendaCollector=new AlmacenTienda();
    }

    /**
     * @return the almacenTiendaCollector
     */
    public AlmacenTienda getAlmacenTiendaCollector() {
        return almacenTiendaCollector;
    }

    /**
     * @param almacenTiendaCollector the almacenTiendaCollector to set
     */
    public void setAlmacenTiendaCollector(AlmacenTienda almacenTiendaCollector) {
        this.almacenTiendaCollector = almacenTiendaCollector;
    }
    
    public void addAlmacenTienda(){
        this.almacenTiendaCollector.setAlmacen(almacen);
        almacenTiendaFacade.create(almacenTiendaCollector);
        if(this.almacen.getAlmacenTiendaList()==null){
            this.almacen.setAlmacenTiendaList(new ArrayList<AlmacenTienda>());
        }
        this.almacen.getAlmacenTiendaList().add(almacenTiendaCollector);
        this.almacenTiendaCollector=new AlmacenTienda();
    }
    
    public void removeAlmacenTienda(AlmacenTienda almacenTienda){
        this.almacen.getAlmacenTiendaList().remove(almacenTienda);
        almacenTiendaFacade.remove(almacenTienda);
    }
    
}
